package com.lzs.bootsafety.business.oss.entity;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.lzs.bootsafety.business.sys.entity.BaseEntity;
import com.lzs.bootsafety.business.sys.entity.SysUser;
import lombok.Data;

import java.util.Date;
public class SysFile extends BaseEntity {
    private Long id;

    private Long userId;

    private Long deptId;

    private String storeType;

    private String originalFileName;

    private Long size;

    private String suffix;

    private Integer width;

    private Integer height;

    private String filePath;

    private String fullFilePath;

    private String fileHash;

    private Date uploadStartTime;

    private Date uploadEndTime;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private Date createTime;
    private Date updateTime;
    private SysUser sysUser;

    @Override
    public String toString() {
        return "SysFile{" +
                "id=" + id +
                ", userId=" + userId +
                ", deptId=" + deptId +
                ", storeType='" + storeType + '\'' +
                ", originalFileName='" + originalFileName + '\'' +
                ", size=" + size +
                ", suffix='" + suffix + '\'' +
                ", width=" + width +
                ", height=" + height +
                ", filePath='" + filePath + '\'' +
                ", fullFilePath='" + fullFilePath + '\'' +
                ", fileHash='" + fileHash + '\'' +
                ", uploadStartTime=" + uploadStartTime +
                ", uploadEndTime=" + uploadEndTime +
                ", createTime=" + createTime +
                ", updateTime=" + updateTime +
                ", sysUser=" + sysUser +
                '}';
    }

    public SysFile setId(Long id) {
        this.id = id;
        return this;
    }

    public SysFile setUserId(Long userId) {
        this.userId = userId;
        return this;
    }

    public SysFile setDeptId(Long deptId) {
        this.deptId = deptId;
        return this;
    }

    public SysFile setStoreType(String storeType) {
        this.storeType = storeType;
        return this;
    }

    public SysFile setOriginalFileName(String originalFileName) {
        this.originalFileName = originalFileName;
        return this;
    }

    public SysFile setSize(Long size) {
        this.size = size;
        return this;
    }

    public SysFile setSuffix(String suffix) {
        this.suffix = suffix;
        return this;
    }

    public SysFile setWidth(Integer width) {
        this.width = width;
        return this;
    }

    public SysFile setHeight(Integer height) {
        this.height = height;
        return this;
    }

    public SysFile setFilePath(String filePath) {
        this.filePath = filePath;
        return this;
    }

    public SysFile setFullFilePath(String fullFilePath) {
        this.fullFilePath = fullFilePath;
        return this;
    }

    public SysFile setFileHash(String fileHash) {
        this.fileHash = fileHash;
        return this;
    }

    public SysFile setUploadStartTime(Date uploadStartTime) {
        this.uploadStartTime = uploadStartTime;
        return this;
    }

    public SysFile setUploadEndTime(Date uploadEndTime) {
        this.uploadEndTime = uploadEndTime;
        return this;
    }

    public SysFile setCreateTime(Date createTime) {
        this.createTime = createTime;
        return this;
    }

    public SysFile setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
        return this;
    }

    public SysFile setSysUser(SysUser sysUser) {
        this.sysUser = sysUser;
        return this;
    }

    public Long getId() {
        return id;
    }

    public Long getUserId() {
        return userId;
    }

    public Long getDeptId() {
        return deptId;
    }

    public String getStoreType() {
        return storeType;
    }

    public String getOriginalFileName() {
        return originalFileName;
    }

    public Long getSize() {
        return size;
    }

    public String getSuffix() {
        return suffix;
    }

    public Integer getWidth() {
        return width;
    }

    public Integer getHeight() {
        return height;
    }

    public String getFilePath() {
        return filePath;
    }

    public String getFullFilePath() {
        return fullFilePath;
    }

    public String getFileHash() {
        return fileHash;
    }

    public Date getUploadStartTime() {
        return uploadStartTime;
    }

    public Date getUploadEndTime() {
        return uploadEndTime;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public Date getUpdateTime() {
        return updateTime;
    }

    public SysUser getSysUser() {
        return sysUser;
    }
}